package com.xhdx.reflect;

import java.io.InputStream;
import java.lang.reflect.Method;
import java.util.Properties;

public class UseReflect {
    public static void main(String[] args) throws Exception {
        // 加载配置文件
        Properties pro = new Properties();
        // 获得配置文件(pro.properties)的字节流
        InputStream is = UseReflect.class.getClassLoader().getResourceAsStream("application.properties");
        // 从输入流中读取属性列表（键和元素对）。
        pro.load(is);
        // 获取配置文件中定义的数据
        String className = pro.getProperty("pro.className");
        String methodName = pro.getProperty("pro.methodName");
        // 获取Class对象
        Class clazz = Class.forName(className);
        // 获取类对象
        Object obj = clazz.newInstance();
        // 获取方法对象
        Method method = clazz.getMethod("sleep");
        // 执行方法
        method.invoke(obj);
    }
}
